"""
Configuration file for the project.
"""

from dataclasses import dataclass
import numpy as np

@dataclass
class IdentifyConfig:
    data_lat_range = 10
    """
    选择识别的滤波后经向风数据的纬度范围，减少数据量，以一个数字表示正负范围。
    例如：10 表示选择纬度范围为 10°N 到 10°S 的数据。
    """

    y0_threshold = 20
    """
    y_0 计算阈值
    """

    min_mrg_wave_width = 18
    """
    MRG波的最小纬向尺度，单位为经度，因为文章使用了 20 个波数，
    所以设置为 360/20 = 18度宽
    """

    err_threshold = 0.1
    """
    误差阈值
    """

    err_threshold_first = 0.4
    """
    初步筛选时用的误差阈值，用于先多选一些后面再筛选
    """

    low_pass_wavenumber = 20
    """
    经向低通滤波的波数
    """

    low_pass_wavelength = 360 / low_pass_wavenumber
    """
    经向低通波长
    """

    # 经向低通频率
    lowPassFrequency = 1/low_pass_wavelength

    cwt_wavenumber_precision = 0.1
    """
    小波波数分析的波数精度
    """

    max_speed = 10/6
    """
    最大的西传速度，单位为 经度/小时
    """

    min_exist_hours = 24
    """
    最小持续存在时间，如果一个MRG波的持续时间小于此，则剔除
    """
